home *** CD-ROM | disk | FTP | other *** search
/ Info-Mac 4 / Info_Mac IV CD-ROM (Pacific HiTech Inc.)(August 1994).iso / Development / General / Open Prolog / External Predicates… / Sources / prlxDefinitions.p < prev    next >
Text File  |  1993-05-27  |  6KB  |  280 lines

  1. UNIT prlxDefinitions;
  2. INTERFACE
  3.  
  4.     CONST
  5. {outcome codes, based on ISO error conditions and a few more…}
  6. noErrorSucceed = 0;
  7. noErrorFail = 1;
  8. systemError = 2;
  9. calculationError = 3;
  10. databaseError = 4;
  11. evaluationError = 5;
  12. implementationError = 6;
  13. instantiationError = 7;
  14. ioControlError = 8;
  15. ioEndOfFileError = 9;
  16. ioFormattingError = 10;
  17. operatorError = 11;
  18. overflowError = 12;
  19. unclassifiedError = 13; {this is not part of the ISO definition}
  20. syntaxError = 14;
  21. typeError = 15;
  22. undefinedPredicateError = 16;
  23. undefinedValueError = 17;
  24. underflowError = 18;
  25. zeroDivideError = 19;
  26. domainError = 20;
  27. userInterrupt = 21; {this is not part of the ISO definition}
  28. notAnErrorCode = -1;
  29.  
  30. {tags}
  31.         variableTag = 0;
  32.         atomTag = 24;
  33.         integerTag = 32;
  34.         structureTag = 40;
  35.         realTag = 52;
  36. {commands}
  37.         getPRLXInfo = 1;
  38.         initialisePredicate = 2;
  39.         callPredicate = 3;
  40.         closePredicate = 4;
  41.         getEventsVersion = 5;
  42.  
  43. {callback commands}
  44.         getTermInfo = 1;
  45.         getSubTerm = 2;
  46.         newTerm = 3;
  47.         unifyTerms = 4;
  48.         unifyToFunctor = 5;
  49.         unifyToInteger = 6;
  50.         identicalTerms = 7;
  51.         listArgumentToString = 8;
  52.         stringToListArgument = 9;
  53.         writeError = 10;
  54.         writeString = 11;
  55.         writelnString = 12;
  56.         drawALRT = 13;
  57.         pushDisplayString = 14;
  58.         popDisplayString = 15;
  59.         getEventRecord = 16;
  60.         doMyModalDialog = 17;
  61.         sendEvents = 18;    {ask Open Prolog to send raw events}
  62.         inForeground = 19;        {put 1 in callbackdata[1] if in foreground mode?}
  63.         startNotification = 20;    {put up a notification}
  64.         stopNotification = 21;
  65.         getFreeTerm = 22; {get the index number of a new unbound local variable in callbackdata[1]}
  66. getPredicateNameAndArity = 23;
  67.  
  68. eventsVersion = 4;
  69.  
  70. eventRePositioned = 1;
  71. eventGoAwayMouse = 2;
  72. eventUpdate = 3;
  73. eventActivate = 4;
  74. eventDeactivate = 5;
  75. eventMenuClick = 6;
  76. eventMenuSelect = 7;
  77. eventMenuKey = 8;
  78. eventKey = 9;
  79. eventSelect = 10;
  80. eventClose = 11;
  81. eventSave = 12;
  82. eventSaveAs = 13;
  83. eventQuit = 14;
  84. eventShutdown = 15;
  85. eventRestart = 16;
  86. eventRevert = 17;
  87. eventCalculateMenus = 18;
  88. eventDisplayChar = 19;
  89. eventDisplayText = 20;
  90. eventDisplayFlush = 21;
  91. eventDisplaySelection = 22;
  92. eventContentClick = 23;
  93. eventReadTerm = 24;
  94. eventInitialise = 25;
  95. eventSee = 26;
  96. eventTell = 27;
  97. eventSeeing = 28;
  98. eventTelling = 29;
  99. eventSeen = 30;
  100. eventTold = 31;
  101. eventGetCursorInfo = 32;
  102. eventIdle = 33;
  103. eventSuspend = 34;
  104. eventResume = 35;
  105. eventCloseAll = 36;
  106. eventStartup = 37;
  107. eventKissByeBye = 38;
  108. eventGetEntry = 39;
  109. eventItemHit = 40;
  110. eventFindString = 41;
  111. eventReplaceString = 42;
  112. eventGetGrowLimit = 43;
  113. eventSetWindowSize = 44;
  114. eventWindowCommand = 45;
  115. eventGetFPos = 46;
  116.  
  117. debugStepped = 47;
  118. debugStep = 48;
  119.  
  120. wcGetNumber = 1;
  121. wcGetWindow = 2;
  122. wcGetSelection = 3;
  123. wcSetSelection = 4;
  124. wcSetOutline = 5;
  125. wcClearOutline = 6;
  126. wcClearAllOutlines = 7;
  127. wcSetAsOutput = 8;
  128. wcGetIndex = 9;
  129. wcGetStartingPoint = 10;
  130. wcSetStartingPoint = 11;
  131. wcPurgeInput = 12;
  132. wcOpenFileWindow = 13;
  133. wcOpenNewWindow=14;
  134. wcGetFontInfo = 15;
  135. wcSetInput = 16;
  136. wcBufferSize = 17;
  137. wcGetWindowKind = 18;
  138.  
  139. messageOK = 0;
  140. messageQuit = 1;
  141. messageReset = 2;
  142. messageExecute = 3;
  143. messageFail = 4;
  144. messageKey = 5;
  145. messageClick = 6;
  146. messageShutdown = 7;
  147. messageRestart = 8;
  148. messageInterrupt = 9;
  149. messageEntry = 10;
  150. messageCancel = 11;
  151. messageNoReply = 12;
  152.  
  153. messageError = -32768;
  154.  
  155. rtOK = 0;
  156.  
  157. rtError = -32768;
  158. rtIncomplete = -32767;
  159. rtNumberRangeError = -32766;
  160. rtQuotedAtomTooLong = -32765;
  161. rtStringTooLong = -32764;
  162. rtAtomTooLong = -32763;
  163. rtVariableNameTooLong = -32762;
  164. rtUnexpectedEOF = -32761;
  165. rtUnexpectedCharacter = -32760;
  166. rtUnificationFailure = -32759;
  167. rtOperatorError = -32758;
  168. rtCantFindFile = -32757;
  169. rtFileIsAFolder = -32756;
  170. rtFileIsWrongTypeForReading = -32755;
  171. rtFileIsAlreadyOpen = -32754;
  172. rtDiskIsFull = -32753;
  173. rtDiskIsLocked = -32752;
  174. rtFileIsLocked = -32751;
  175. rtFileIsReadOnly = -32750;
  176. rtFileIOProblem = -32749;
  177. rtCantGetEnoughMemory = -32748;
  178. rtAttemptToReadPastEof = -32747;
  179. rtSpaceError = -32746;
  180. rtBufferTooSmall = -32745;
  181. rtNonSequentialFileAccess = -32744;
  182. rtCantOpenForReading = -32743;
  183. rtCantOpenForWriting = -32742;
  184. rtFileTableFull = -32741;
  185. rtFileIsWrongTypeForWriting = -32740;
  186. rtDirectoryNotFound = -32739;
  187. rtFileAlreadyExists = -32738;
  188. rtNoSuchVolume = -32737;
  189. rtOutputStringTooBig = -32736;
  190.  
  191.       appleMenu = 128;
  192.       fileMenu = 129;
  193.       editMenu = 130;
  194.       findMenu = 131;
  195.       windowMenu = 132;
  196.       controlMenu = 133;
  197.       submenuNumber = 170;
  198.       publishingMenu = submenuNumber+0;
  199.       openMenu = submenuNumber+1;
  200.       consultMenu = submenuNumber+2;
  201.       reconsultMenu = submenuNumber+3;
  202.       formatMenu = submenuNumber+4;
  203.       fontMenu = submenuNumber+5;
  204.       sizeMenu = submenuNumber+6;
  205.       newItem = 1;
  206.       openItem = 2;
  207.       openSelectedFileItem = 3;
  208.       closeItem = 5;
  209.       saveItem = 6;
  210.       saveAsItem = 7;
  211.       revertItem = 8;
  212.       pageSetupItem = 9;
  213.       printItem = 10;
  214.       printSelectionItem = 11;
  215.       quitItem = 13;
  216.       
  217.     undoItem = 1;
  218.  
  219.     cutItem=3;
  220.     copyItem=4;
  221.     pasteItem=5;
  222.     clearItem=6;
  223.  
  224.     selectAllItem=8;
  225.     
  226.     publishingMenuItem = 10;
  227.  
  228.     autoIndentItem=1;
  229.     fontItem=3;
  230.     fontSizeItem=4;
  231.  
  232.  
  233.           replaceDialogId=132;
  234.         findDialogId = 133;
  235.  
  236.       findItem = 1;
  237.       findSameItem = 2;
  238.       findSelectionItem = 3;
  239.       displaySelectionItem = 4;
  240.       replaceItem = 6;
  241.       replaceSelectionItem = 7;
  242.       selectInputWindowItem = 9;
  243.       
  244.       createPublisherItem = 1;
  245.       subscribeToItem=2;
  246.       publisherOptionsItem=3;
  247.  
  248.         openFileItem = 1;
  249.         openSelectedFileSubItem=2;
  250.  
  251.     consultFileItem=1;
  252.     consultSelectedFileItem=2;
  253.     consultWindowItem=3;
  254.     consultSelectionItem=4;
  255.  
  256.     TYPE
  257.         prlxRecord = RECORD
  258.                 request, id : integer;
  259.                 data : ARRAY[1..3] OF longint;
  260.                 callbackRequest : integer;
  261.                 callbackData : ARRAY[1..3] OF longint;
  262.                 s : str255;
  263.                 entryPoint : procPtr;
  264.                 successful : boolean;
  265.                 determinate : boolean;
  266.                 outcome:integer;
  267.                 permanentData:longint;
  268.                 callbackAvailable:boolean;
  269.                 prlxHandleFlags:signedByte;
  270.                 prlxHandle : ^ProcPtr;
  271.                 prlxFunctor:longint; {private - reserved}
  272.             END;
  273.         prlxPtr = ^prlxRecord;
  274.     TYPE
  275.         termIndex = 0..8192;
  276.     PROCEDURE callback (address : procPtr);
  277.     INLINE
  278.         $205f, $4e90;
  279. IMPLEMENTATION
  280. END.